// src/stores/user.js
// 用户登陆状态
import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useUserStore = defineStore('user', () => {
  const isLogin = ref(false)           // 是否已登录（真实状态）
  const showLoginComponent = ref(false) // 是否显示登录弹窗（UI 控制）
  const userInfo = ref(null)           // 用户信息

  function updateLoginStatus(status) {
    isLogin.value = status
    if (status) {
      // 登录成功 → 隐藏登录弹窗
      showLoginComponent.value = false
    }
  }
  // 添加：关闭登录弹窗
  function closeLoginModal() {
    // 关闭登录弹窗（比如用户点击关闭按钮时调用）
    showLoginComponent.value = false
  }

  function openLoginModal() {
    // 打开登录弹窗（比如路由拦截时调用）
    showLoginComponent.value = true
  }

  function setUserInfo(info) {
    userInfo.value = info
  }
  function logout() {
    isLogin.value = false
    userInfo.value = {}
    showLoginComponent.value = false
    localStorage.removeItem('userID')
    localStorage.removeItem('user-home')
    localStorage.removeItem('myUserInfo')
  }


  return { isLogin, showLoginComponent, userInfo, updateLoginStatus, openLoginModal, setUserInfo, closeLoginModal, logout }
}, {
  persist: {
    key: 'user-home', // 存储的键名，默认是store的id
    storage: localStorage, // 存储方式，默认是localStorage
    paths: ['isLogin', 'userInfo'] // 指定要持久化的状态路径
  }
})